package com.linksfield.topup.entity.servserapi.singledevicerealtime.response;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.util.List;

/**
 * 请求查询设备的实时信息：响应会包含正在使用的订单流量等的使用情况
 *
 * @author lm
 * @date 2020/4/23 12:00
 */
@Data
public class ResponseSingleDeviceRealTimeTradeDataPackageOrder implements Serializable {

    private static final long serialVersionUID = 5597672595036587598L;
    @ApiModelProperty(value = "套餐订单编码", example = "5", dataType = "String")
    private String orderCode;

    @ApiModelProperty(value = "资费套餐名称", example = "5", dataType = "String")
    private String packageName;

    @ApiModelProperty(value = "资费套餐编码", example = "5", dataType = "String")
    private String packageCode;

    @ApiModelProperty(value = "0-日程套餐；1-日流量套餐；2-月流量套餐；3-季度流量套餐；4-半年流量套餐；5-年流量套餐；", example = "5", dataType = "String")
    private String packageType;

    @ApiModelProperty(value = "日程套餐，该节点为空，购买方式：1-预付费套餐：允许有加油包，订购周期是固定，不允许续订；2-后付费套餐：不允许使用加油包，但是可以迭代订购，举例：如果是月为单位，订购时，选择的订购周期可以是N个月。允许续订。", example = "1", dataType = "String")
    private String buyType;

    @ApiModelProperty(value = "套餐的订购周期", example = "5", dataType = "String")
    private String orderPeriod;

    @ApiModelProperty(value = "套餐流量，单位为：M字节；日程套餐，此节点可以为空值；", example = "MB", dataType = "String")
    private String flow;

    @ApiModelProperty(value = "套餐使用流量，具体定义如下： 如果套餐为预付费套餐，则为当前已累计使用的流量，单位为MB； 如果套餐为后付费套餐，则为当前订购周期单位内，累计使用的流量。例如，套餐为月套餐，则为当前月使用的流量；套餐为季度套餐，则为当前季度使用的流量；日程套餐此节点取值为空；单位为KB", example = "MB", dataType = "String")
    private String usedFlow;

    @ApiModelProperty(value = "流量的使用率，取值为：used_flow/flow，为百分比；日程套餐此节点取值为空；", example = "5", dataType = "String")
    private String flowUseRate;

    @ApiModelProperty(value = "该订单一共使用总流量；单位为KB；日程套餐此节点取值为空；", example = "100", dataType = "String")
    private String orderUsedFlow;

    @ApiModelProperty(value = "套餐订购日期，格式为:YYYYMMDDhhmiss", example = "20181225144155", dataType = "String")
    private String orderDate;

    @ApiModelProperty(value = "套餐启用日期，格式为：YYYYMMDD如果套餐尚未激活，该字段为空", example = "20181225", dataType = "String")
    private String activeDate;

    @ApiModelProperty(value = "套餐预计失效日期，格式为：YYYYMMDD", example = "20181225", dataType = "String")
    private String expireDate;

    @ApiModelProperty(value = "该设备是否订购了加油包，取值如下：0-未订购加油包；1-订购加油包；当buy_type=1时，即设备当前订购的是预付费流量套餐，此字段存在，其他情况，不存在；", example = "0", dataType = "String")
    private String isOrderRefuelingPackage;

    @ApiModelProperty(value = "加油包信息，当is_order_ refueling_package=1时存在。", dataType = "Object")
    private List<ResponseSingleDeviceRealTimeTradeDataPackageOrderRefuelingPackage> refuelingPackage;
}
